package dtos

import (
	"strconv"

	"github.com/beego/beego/v2/core/validation"
)

// UserInfoParams
type UserInfoParams struct {
	UserId       int64
	UserIdStr    string `json:"user_id"`
	FilterUserId string `json:"filter_user_id"`
}

type UserInfoRes struct {
	UserId      int64  `json:"user_id"`
	Identity    int    `json:"identity"`
	Gender      int    `json:"gender"`
	Status      int    `json:"status"`
	SubRegionId int    `json:"sub_region_id"`
	Nick        string `json:"nick"`
	HeadImg     string `json:"head_img"`
	Age         int    `json:"age"`
	FlagImage   string `json:"flag_image"`
}

func (uip *UserInfoParams) Valid(v *validation.Validation) {
	// 验证UserId是否合法
	var err error
	uip.UserId, err = strconv.ParseInt(uip.UserIdStr, 10, 64)

	if err != nil {
		_ = v.SetError("UserId", "用户编号不合法")
		return
	}

	filterUserId, err := strconv.ParseInt(uip.FilterUserId, 10, 64)
	if err != nil || filterUserId <= 0 {
		_ = v.SetError("msg", "查询用户编号不合法")
		return
	}

	return
}
